import Link from 'next/link'; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Mail, CheckCircle } from 'lucide-react'; import { useTranslations } from "next-intl"; import { Metadata } from "next"; import { getTranslations, setRequestLocale } from "next-intl/server"; import ResendVerificationEmail from './resend-verification-email'; import Navigation from "@/components/navigation"; import Footer from "@/components/footer"; interface VerifyEmailSentPageProps { params: Promise<{ locale: string; }>; searchParams?: { email?: string; }; } export async function generateMetadata({ params }: VerifyEmailSentPageProps): Promise { const { locale } = await params; const t = await getTranslations({ locale, namespace: 'auth.verifyEmailSent' }); return { title: t('pageTitle'), }; } export default async function VerifyEmailSentPage({ params, searchParams }: VerifyEmailSentPageProps) { const { locale } = await params; // 启用静态渲染 setRequestLocale(locale); const t = await getTranslations('auth.verifyEmailSent'); const email = searchParams?.email; return ( <>

{t('title')}

{t('message')}

{email && (

{email}

)}

{t('stepsTitle')}

  1. 1. {t('step1')}
  2. 2. {t('step2')}
  3. 3. {t('step3')}
  4. 4. {t('step4')}

{t('checkSpam')}

{/* 重发验证邮件组件 */} {email && ( )}